home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / info / rtnews / rtnv4n3 < prev    next >
Encoding:
Text File  |  1994-10-16  |  42.6 KB  |  870 lines

  1.  _ __                 ______                         _ __
  2. ' )  )                  /                           ' )  )
  3.  /--' __.  __  ,     --/ __  __.  _. o ____  _,      /  / _  , , , _
  4. /  \_(_/|_/ (_/_    (_/ / (_(_/|_(__<_/ / <_(_)_    /  (_</_(_(_/_/_)_
  5.          /                               /|
  6.         '                               |/
  7.  
  8.             "Light Makes Right"
  9.  
  10.              November 18, 1991
  11.             Volume 4, Number 3
  12.  
  13. Compiled by Eric Haines, 3D/Eye Inc, 2359 Triphammer Rd, Ithaca, NY 14850
  14.     erich@eye.com
  15. All contents are US copyright (c) 1991 by the individual authors
  16. Archive locations: anonymous FTP at weedeater.math.yale.edu [130.132.23.17],
  17.     /pub/RTNews, and others.
  18. UUCP archive access: write Kory Hamzeh (quad.com!avatar!kory) for info.
  19.  
  20. Contents:
  21.     Introduction
  22.     New People, Address Changes, etc
  23.     ElectroGig Free Software Offer
  24.     Spectrum: A Proposed Image Synthesis Architecture, by Andrew Glassner
  25.     Spline Intersection, Texture Mapping, and Whatnot, by Rick Turner
  26.     Satellite Image Interpretation, by Andy Newton
  27.     Material Properties, by Ken Turkowski
  28.     New Library of 3D Objects Available via FTP, by Steve Worley
  29.     Object Oriented Ray Tracing Book
  30.     New and Updated Ray Tracing and Radiosity Bibliographies
  31.     DKBTrace 2.12 Port to Mac, by Thomas Okken
  32.     Graphics Gems II Source Code
  33.     Radiance Digest Archive, by Greg Ward
  34.     Model Generation Software, by Paul D. Bourke
  35.     Rayshade 4.0 Release, Patches 1 & 2, and DOS Port, by Craig Kolb and
  36.     Rod Bogart
  37.     RayShade Timings, by Craig Kolb
  38.     RayShade vs. DKBtrace Timings, by Iain Dick Sinclair
  39.     PVRay Beta Release, by David Buck
  40.     Vort 2.1 Release, by Eric H. Echidna
  41.     BRL-CAD 4.0 Release, by Michael J. Muuss and Glenn M. Gillis
  42.  
  43. -------------------------------------------------------------------------------
  44.  
  45. Introduction
  46.  
  47.     Well, it's been awhile - RealWork (TM) has been getting in the way of
  48. putting out an issue of the Ray Tracing News.  So, rewind your brains back to
  49. August...
  50.  
  51.     SIGGRAPH was interesting, as usual.  Las Vegas is an amusing place; now
  52. that I've seen it once, I don't ever need to go back.  To my surprise, there
  53. was quite a turnout for the ray tracing roundtable get together at SIGGRAPH.
  54. The roundtable is a nice excuse for people to get in a room and put faces to
  55. names, and I finally got to meet some people who had been just authors with
  56. email addresses before this.
  57.  
  58.     Some papers of note at SIGGRAPH which directly affect ray tracing were
  59. Kirk & Arvo's paper on unbiased sampling techniques and Mitchell's on optimal
  60. sampling for ray tracing.  The first warns that re-using initial samples
  61. results in bias when adaptively supersampling; the last talks of image
  62. sampling strategies.  Other papers of interest include those on new procedural
  63. texturing methods, which all look fairly easy to implement in their simpler
  64. forms.
  65.  
  66.     Chen et al presented "A Progressive Multi-Pass Method for Global
  67. Illumination", which does about every trick in the book to attempt to achieve
  68. maximum realism.  Xiao He et al presented "A Comprehensive Physical Model for
  69. Light Reflection", which is just that; it seems about the most realistic
  70. shading model I've seen, with some very serious mathematics behind it.  Another
  71. paper from Cornell, "A Global Illumination Solution for General Reflectance
  72. Distributions" by Sillion et al, gives an interesting method of storing
  73. reflectance functions by using spherical harmonics.
  74.  
  75.     The most theoretically significant radiosity paper was done by Hanrahan et
  76. al, who presented a method of limiting the amount of computation by use of
  77. hierarchy and error limits.  This method opens up interesting new lines of
  78. thought and research in radiosity.
  79.  
  80.     I did not spend a lot of time on the floor, but did run across an
  81. interesting demo at the Intergraph booth.  They had a cute ray tracing program 
  82. that implemented parameterized ray tracing (Sequin & Smyrl, SIGGRAPH '89),
  83. where you essentially store the shading equation parameters for each pixel.
  84. Changing colors, applying textures, etc then becomes pleasantly fast, as all
  85. you have to do is substitute the proper parameter values and reevaluate,
  86. getting a new full ray traced image in seconds.
  87.  
  88.     Other new ray tracing products I noticed were from Ray Dream and Strata.
  89. Ray Dream has a ray tracer for the Mac, with the program LightForge for
  90. modeling surfaces and SceneBuilder for scene description.  They have also
  91. added a distributed computing feature to poll Macs on a network for idle CPU
  92. time and uses it for rendering.  Strata offers StrataVision 3d, again for the
  93. Mac.  They claim ray tracing and radiosity rendering and gave us a demo disk -
  94. the radiosity images are no great shakes, but it's interesting to see the word
  95. "radiosity" making its way into the microcomputer market.
  96.  
  97.     AT&T Pixel Machines has been adding radiosity capabilities to their
  98. rendering library set.  Silicon Graphics is still demoing radiosity, though no
  99. product seems in the offing.  They did have a good tutorial film showing the
  100. ideas behind the progressive radiosity algorithm, and Baum et al had a
  101. worthwhile paper in the Proceedings on making radiosity usable.  This paper is
  102. indispensable for anyone designing a robust radiosity system for general use
  103. (i.e.  you plan on rendering more that a few axis aligned boxes in a room).
  104. HP demoed their radiosity rendering product (ARTCore) with a room designer
  105. demonstration, and had a movie in the film show (positive adjectives avoided,
  106. since I worked on both projects).
  107.  
  108.     One of the more clever tricks I learnt from the room designer was how to
  109. get reasonable wallpaper, floor covering, and other such textures scanned in
  110. using a flatbed scanner.  In the past I went to building supply places and
  111. borrowed or bought samples ("Yes, I want to see how this will look in my
  112. kitchen", not mentioning that the kitchen existed only in the computer).
  113. However, with a flatbed scanner you can get stuck:  the samples can be bigger
  114. than the scanning surface.  Even if small enough, repetition of the texture
  115. can lead to unrealistic effects (for example, a brick pattern is obviously
  116. tiled if the brick colors keep repeating in a too regular fashion).  I've also
  117. tried photographing large areas of a surface (e.g. a brick wall), but then
  118. variations in the scene's lighting often appear and make for patterning or odd
  119. shading artifacts.
  120.  
  121.     Tamar Cohen, who developed the room designer, realized that there was an
  122. excellent solution to these problems:  dollhouse supplies!  Dollhouse
  123. wallpaper and floor coverings easily fit on a flatbed scanner, and all the
  124. repetition and lighting problems go away.
  125.  
  126.     For those of you who are deeply into texturing, you should consider
  127. looking into the Khoros image processing system (ftp from pprg.eece.unm.edu
  128. [129.24.24.10]:  /pub/khoros - check release first).  It's a huge (~100 Meg)
  129. system, but from my minimal exposure seems extremely powerful and easy to use.
  130. It has a visual programming language, so you can interactively attach various
  131. function boxes together to perform operations.  This makes the system easy to
  132. quickly start using for simple manipulations, though I think I'm going to have
  133. to break down and read the documentation at this point.  The system is X based
  134. and has been ported to most major workstations on up, and the group at the
  135. University of New Mexico are enthusiastic and willing to help.  Recommended.
  136.  
  137.     I've also finally scratched the surface of Greg Ward et al's Radiance
  138. package.  I was impressed first off by the portability:  one of his displayers
  139. was the first serious X program I've ever compiled and linked without having
  140. to diddle around with something to make it go.  In fact, I didn't even know it
  141. was an X program until I ran it and a window popped up on the screen!  If you
  142. want physically based rendering, this is the only package I know that even
  143. attempts it.  It also seems to be a fine renderer, and I enjoy the progressive
  144. ray tracing feature (the image refines while you watch it).
  145.  
  146.     As far as speed goes, Rich Marisa at the Cornell Theory Center kindly gave
  147. me an explanation and demonstration of their Ray Casting Engine.  Duke and
  148. Cornell have been developing this piece of hardware for some time, and it
  149. embodies an interesting approach:  represent the CSG model as a network of
  150. processors, then, given a direction of view, convert the model into sets of
  151. spans.  These spans can then be used for analysis, rendering, etc.  For more
  152. information, see the Feb. 1991 issue of Mechanical Engineering, or Kedem and
  153. Ellis' article in _Parallel Processing of Computer Vision and Display_ (ed.
  154. by Dew, Heywood & Earnshaw).
  155.  
  156. -------------------------------------------------------------------------------
  157.  
  158. New People, Address Changes, etc
  159.  
  160.  
  161. # Andy Newton - physical radiance modelling, natural scenes, rays with solid
  162. #    angle
  163. # Remote Sensing Research, University College London
  164. # Photogrammetry,
  165. # UCL, Gower Street
  166. # London, ENGLAND
  167. # +44 71 387 7050 x2742
  168. alias andy_newton    anewton@ps.ucl.ac.uk
  169. alias andy_newton    anewton%uk.ac.ucl.ps@uk.ac.ucl.cs
  170.  
  171. Although the graphics is more fun than the Remote Sensing this is what I'm
  172. supposed to be doing ...
  173.  
  174. Applying ray tracing to the understanding of remote sensed images of the
  175. natural world, mainly satellite imagery. Much more interested in physical
  176. accuracy than efficiency. Also how to correctly model, and sample, very large
  177. and non-uniform light sources (the sky!) in ray tracing. How to relate the
  178. point sampling paradigm of the infinitesimal ray to light energy transport.
  179. Physical reflectance models like BRDF. Doing distance attenuation and variable
  180. light source sampling properly (probably) using solid angle.
  181.  
  182. I'd be really interested in any references anyone has to ray tracing for
  183. physical process simulations or radiance calculations using solid angle as
  184. a ray property.
  185.  
  186. On offer: a realistic sky radiance model based on atmospheric scattering.
  187.  
  188. --------
  189.  
  190. # Denise Blakeley
  191. # 1455 Runaway Bay Dr. #2B
  192. # Columbus, OH 43204
  193. # (614) 487-8442
  194. blakeley@cis.ohio-state.edu
  195.  
  196. Ray-tracing interests: general
  197.  
  198. What I'm doing these days: I'm trying to finish my MS in Computer Science
  199.   (concentrating in graphics) here at Ohio State December '91.  I'd like to
  200.   finish the program with at least one fairly complete project to show for
  201.   it, so I'm trying to expand my basic ray-tracer into a more complete
  202.   rendering system.  Nothing ground-breaking; I'm just trying to learn as
  203.   much as I can at this point, and have fun doing it!
  204.  
  205. --------
  206.  
  207. # Rick Turner - weird primitives, non-Euclidean raytracing, textures
  208. # IBM UK Science Centre
  209. # Athelstan House, St. Clement Street, Winchester SO23 9DR, England.
  210. ricky@venta.iinus1.ibm.com
  211.  
  212. I'm a scientist at UKSC, working in the area of remote sensing and the
  213. application of image and visualisation techniques to earth science problems.
  214. Raytracing is a spare time activity.  I've written one raytracer, as well as a
  215. substantial part of a second.  These use all the common CSG primitives, and
  216. for the large tracer (called RT), I've added support for bicubic spline
  217. patches (bezier, b-spline, ..., continuous beta-splines) and implicit
  218. functions as well.  Currently I'm playing around with texture and image
  219. mapping and volume objects.
  220.  
  221. --------
  222.  
  223. Matthew Williams
  224. 501 Chapel Drive #1417
  225. Tallahassee, Fl  32304
  226. (904)681-0873
  227. fudd@fsunuc.physics.fsu.edu
  228.  
  229. Interests: Anything and everything
  230.  
  231. At the moment I am a student at Florida State University majoring in Russian
  232. Language with minors in Math, Physics, and Computer Science.  All the time
  233. that I am not in class (including some times when I should be in class) I am
  234. on my PC playing around with DKBTrace (or should I say PVRay).  One of my
  235. larger projects that I want to attempt is translating the C source for DKB to
  236. assembly and hopefully gain some speed.  I would also like to add a fractal
  237. section to it so I can have vines and stuff growing on different objects.
  238.  
  239. -------------------------------------------------------------------------------
  240.  
  241. ElectroGig Free Software Offer
  242.  
  243. [I don't know much about GIG, except that they have a CSG ray tracer.  Sounds
  244. like quite a deal, though! - EAH]
  245.  
  246. From Communications of the ACM, Nov. 1991:
  247.  
  248. In an effort to enhance computer graphics education on a national level, GIG
  249. USA is offering a limited number of complete 3D graphics packages free of
  250. charge to accredited universities, colleges and schools throughout the U.S.
  251. The ElectroGIG system, which lists for $30,000, includes retracing [sic -
  252. should be ray-tracing] and animation applications and runs on Silicon Graphics
  253. and DEC 5000 workstations.  Written requests must be mailed (phone calls or
  254. faxes will not be accepted) on official school letterhead by staff or faculty
  255. members only to GIG USA, Inc., 7380 Sand Lake Rd., Suite 390, Orlando, FL
  256. 32819, attention:  GIG Educational Software Program.
  257.  
  258. -------------------------------------------------------------------------------
  259.  
  260. Spectrum: A Proposed Image Synthesis Architecture, by Andrew Glassner
  261.     (glassner.pa@xerox.com)
  262.  
  263. Andrew Glassner is currently working on a proposal called "Spectrum", which is
  264. a new ray tracer architecture.  The document outlining this design was made
  265. available in the "Frontiers in Rendering" course notes.  The idea is to make a
  266. flexible public domain ray tracer available among researchers and educators.
  267.  
  268. -------------------------------------------------------------------------------
  269.  
  270. Spline Intersection, Texture Mapping, and Whatnot, by
  271.     Rick Turner (ricky@venta.iinus1.ibm.com) and Eric Haines
  272.  
  273. The code that I developed is based essentially on algorithms developed by
  274. Kajiya and extended by Marini et al (the paper is in one of the Eurographics
  275. procs; I can dig out a reference for you if you're interested).  Basically, we
  276. model the ray as a pair of orthogonal planes.  Each of these is intersected
  277. with the spline surface, giving a pair of space curves.  You intersect the
  278. space curves giving the ray/surface intersection.
  279.  
  280. Intersecting curves is a manageable problem, so it works quite well.  The same
  281. basic method is employed for all types of bicubic spline surface.  It actually
  282. turns out that splines having a constant basis matrix (eg b-spline, power
  283. splines, hermites, Catmull-Rom splines etc) are cheaper to compute if you
  284. first do a basis transformation to bezier splines.  Beta splines and so on
  285. that have a variable basis matrix require special treatment, which is quite
  286. complex.
  287.  
  288. I run the code on an i860 based accelerator card to get it to work in
  289. reasonable time; a 1024*1024 image with a few hundred primitives takes 5-10
  290. minutes to compute.  Spline surfaces can increase this considerably.
  291.  
  292. The raytracer in question was originally developed by IBM Poughkeepsie as part
  293. of a system called GDP (Geometric Design Processor).  This was essentially a
  294. CSG system and was used to design parts of IBM mainframes.  It ran on a
  295. mainframe and was written in PL/I and Assembler.  The mainframe code was
  296. hacked out as a standalone module some years ago, and was then re-written in
  297. 'C' in peoples spare time.  Most of the basics were done in Burlington, Va.,
  298. though extensions were done all over the place.
  299.  
  300. I'm currently working with mapping images and textures onto objects.  Yes, I
  301. know this is a largely solved problem nowadays, but there are some interesting
  302. 'gotchas'.  I'm particularly interested in singular mappings, where you don't
  303. have a one-to-one correspondence.  This overlaps in some ways with my 'real'
  304. work, which often involves rendering some earth science dataset.  I'm
  305. currently fooling around with Magellan data from JPL, rendering combinations
  306. of terrain and image data in various ways.
  307.  
  308. --------
  309.  
  310. My reply:
  311.  
  312. I know the two-plane intersection method you refer to, in fact I coded it up
  313. once long ago (though I don't know the Marini paper - maybe he solves the
  314. problem of sometimes converging on the farther intersections instead of the
  315. closest?  Seems like I remember that guaranteeing the right root is found was
  316. a headache, though I recall Kajiya's solution was something like "use
  317. Laguerre's method and find them all" or somesuch - I'm probably mixing this
  318. up, as I haven't looked at these numerical methods in years...)
  319.  
  320. As far as texture mapping, that's something I'm still playing with here, too.
  321. Solved?  Well, how does adaptive sampling work along with textures and mipmaps
  322. and so on (mipmaps sample area, but what do you do if more sample rays are
  323. shot in a pixel?) - there was a paper on this topic in Eurographics '91, so
  324. it's of interest.  Also, specifying parameterizations for sets of primitives
  325. is easy enough in theory (e.g. define some projection (spherical, conical,
  326. plane) in space and use this to determine xyz -> uv), but this kind of thing
  327. can look really bad in some cases.  I've been playing with other
  328. parameterization functions, with some interesting results (my VW bug covered
  329. with straw weave is certain to become a style trend soon, I'm sure).  Have you
  330. run across any interesting parameterization papers/techniques lately?
  331.  
  332. --------
  333.  
  334. Reply from Rick:
  335.  
  336. In my code, the patches are subdivided, though not by very much.  Each
  337. 'mini-patch' has its own bounding box, and both are built into a tree
  338. structure.  The more curvature the patch has, the greater the subdivision that
  339. will be used; this reduces the chances of having a local maximum or minimum in
  340. the middle of the patch go outside the bounding box.  It also allows you to
  341. fit the bounding boxes much more tightly to the surface, so cuts down the
  342. number of false intersections where the ray intersects the bounding box but
  343. not the surface.  One interesting side effect of the subdivision is that by
  344. making the bounding box smaller than the surface, you get disconnected pieces
  345. of surface floating in space.  A nice example of this is on the cover of the
  346. Bartels/Beatty/Barsky book on splines.  I've done the teapot in a similar way,
  347. and it looks rather neat.  I went further and mapped the baboon onto each
  348. disconnected patch, and it's quite eye catching.
  349.  
  350. Basically, the convergence method is a hybrid of multi-dimensional conjugate
  351. gradient and quasi-Newton techniques.  This offers speed plus reasonable
  352. stability (although you can always find a pathological case to defeat the
  353. algorithms).  One thing about it is that the iterations happen in (u,v) space
  354. rather than in (x,y,z) space; this ensures that the iterations will always
  355. converge to a valid solution; if either u or v go outside the range valid for
  356. the particular mini-patch that you're testing against you can immediately
  357. reject the solution, as there will be no intersection with that patch.
  358. Typically false intersections such as this are rejected on the first (or
  359. sometimes the second) iteration, which improves the performance a bit.
  360.  
  361. Ray tracing splines is tedious though, so I've given my code an option to
  362. render the bounding boxes for the mini-patches.  This gives a pretty good
  363. first look at what you're going to get out, and takes a couple of orders of
  364. magnitude less time.
  365.  
  366. Texture mapping people may want to look through the cartographic literature.
  367. Map makers have similar problems in projective geometry when it comes to
  368. changing map (or image) coordinate systems - eg, from Lat/Long to UTM for
  369. example.  Much effort has been devoted to solving the mapping (in the
  370. mathematical sense) problem; less on resampling.  Almost always the resampling
  371. used are standard bi-linear or bi-cubics with the attendant problems.  On the
  372. whole though, digital cartography can be a useful source on information that
  373. is often overlooked by graphics people.  A good reference to start with is
  374. USGS Professional Paper 1395, 'Map Projections, a Working Manual' by John
  375. Snyder.  In the US you can get a copy from any Government bookstore - when I
  376. got mine I think that it cost me about 25 dollars.
  377.  
  378. -------------------------------------------------------------------------------
  379.  
  380. Satellite Image Interpretation, by Andy Newton (anewton@ps.ucl.ac.uk)
  381.  
  382. I work in a satellite image interpretation research group. Our interest in 
  383. ray tracing is for simulating all parts of the process of the formation of 
  384. satellite images - optics, camera motion, atmosphere, surface scattering and
  385. global (as in hemispherical!) light source illumination. We do work at two
  386. scales - where the basic scene is a DEM (height grid) and for very complicated
  387. 3-d scenes for plant canopy reflectance simulation.
  388.  
  389. So ray tracing is a really powerful tool to allow us to simulate as many parts
  390. of these complex processes as we can model but what we need to do is not quite
  391. computer graphics. What I mean by this is that what we need out of our models 
  392. are accurate, truthful, energies (in real units) not measures of visual
  393. brightness. We need physical results. One example of this is wavelength sampling
  394. by importance sampling a spectral response curve as opposed to treating light as
  395. an RGB 'colour'. (Though I can't recall any references to doing exactly this it
  396. is proposed in Cook's original stochastic sampling papers and my implementation
  397. is very similar to his for reflected ray direction).
  398.  
  399. Our main problems are (i) illumination from such a big light source (the sky
  400. hemisphere) with 'diffuse' reflectors (ii) ensuring that we model energies
  401. correctly and (iii) using physical directional reflectances. I may be going out
  402. on a bit of a limb here so please excuse me if I do - I'm not as familiar as I
  403. ought to be with general CG practice - but I'll try to explain what I mean.
  404.  
  405. I've spent the better part of 3 years supporting and trying to add to a tracer
  406. I inherited when I came to work here. Now that has turned out not to be 
  407. particularly smart as its been a lot harder to modify and bug fix than if it was
  408. my own work. Anyway the point is that through out most of that time we had no
  409. good model for the directional and spectral variation of that thing outside the
  410. window - the sky. As our main interest is _supposed_ to be the satellite work,
  411. not the graphics, I felt we couldn't come to grand conclusions from our results
  412. if the illumination function was simply not representative of the real world.
  413. Now I've managed to solve this problem by implementing a model of atmospheric
  414. scattering processes due to Zibordi and Voss so its time to make the physics
  415. correct and BTW write a fresh tracer. I have seen some work on CG models of the
  416. sky which are functional and not physical. This model is quite fast enough to
  417. create a sky radiance LUT at any resolution required on a per scene basis so if
  418. you know of anyone out there who needs a model of the sky's irradiance maybe I
  419. could help.
  420.  
  421. The thing about any such illumination model is, of course, that the energy
  422. results are per steradian of solid angle of illuminating source.  With the
  423. point sampling infinitesimally thin ray what solid angle does a ray reaching
  424. the sky have?  If it's a primary ray then OK it can have some solid angle
  425. associated with the pixel but how should ray solid angles be transformed by
  426. reflection etc?  The only work I've seen that is remotely like this is
  427. Amantide's cones.  However that doesn't use the geometric concept of a solid
  428. angle.  One plus point of considering solid angle is of course that the
  429. effects of distance attenuation by divergence are implicitly included.  So I'm
  430. very interested in how much solid angle is used as yet another ray parameter
  431. in more general CG work.  Is this really common, or unheard of?
  432.  
  433. There's a reflectance concept in remote sensing called Bi-Directional
  434. Reflectance Distribution Function (BRDF), which may also be use in CG or have
  435. a parallel, that defines directional reflectance as a 5-d array of pairwise
  436. directional spectral reflectance coefficients.  For each wavelength
  437. (quantized, of course), for each incident direction (over the 2 Pi
  438. hemisphere), for each emergent direction, define a reflectance coefficient.
  439. Such things can be used as reflectance LUTs or integrated, subdivided and
  440. importance sampled.  Are similar things done for interesting material
  441. reflectances in the main stream?
  442.  
  443. -------------------------------------------------------------------------------
  444.  
  445. Material Properties, by Ken Turkowski (turk@apple.com)
  446.  
  447. [I edited Ken's notes into a coherent whole. - EAH]
  448.  
  449. >Does anyone know where I can pick up a list of material properties for
  450. >different metals and other objects? 
  451. >
  452. >I need to know refractive index, diffuse component, specular component and
  453. >specular exponent.
  454.  
  455. Purdue has a catalog of transmissive, reflective, absorptive and emissive
  456. spectral data for conductors, dielectrics, pigments, emulsions, and light
  457. sources.  From this you can calculate the refractive index and diffuse
  458. spectrum.  It's called _Thermophysical Properties of Matter_ by the Purdue
  459. University Thermophysical properties research center.  There are multiple
  460. volumes.  We have found volumes 6, 7, and 8 most useful.  These contain data
  461. for dielectrics, conductors, and surface coatings.
  462.  
  463. Unfortunately, this book is out of print.  We got our copy by photocopying one
  464. that Purdue had.
  465.  
  466. Specular data is a function of the finish (i.e. rough, smooth), and can be
  467. calculated by the method of He (SIGGRAPH '91) given surface statistics.
  468.  
  469. Roy Hall's book, _Illumination and Color in Computer Generated Imagery_,
  470. points to some other sources of reflective data.  The reflective spectrum *is*
  471. the diffuse "color".  Specular properties are a function on the finish, not
  472. the material.
  473.  
  474. -------------------------------------------------------------------------------
  475.  
  476. New Library of 3D Objects Available via FTP, by Steve Worley
  477.     (worley@updike.sri.com)
  478.  
  479. On the ftp site cs.uoregon.edu (128.223.4.13), I have assembled a set of over
  480. 150 3D objects in a binary format called TDDD in the directory
  481. /incoming/TDDDobjs.  These objects range from human figures to airplanes, from
  482. semi-trucks to lampposts.  These objects are all freely distributable, and most
  483. have READMEs that describe them.  There are over six megabytes of these binary
  484. objects.
  485.  
  486. In order to convert these objects to a human-readable format, a file with the
  487. specification of TDDD is included in the directory with the objects.  There is
  488. also a shareware utility called TDDDconv that will convert the binary objects
  489. into either OFF, NFF, Rayshade, or vort objects.  This utility is also found
  490. on cs.uoregon.edu, in the file /incoming/TDDDconv.tar.Z.
  491.  
  492. [There are some interesting things here.  You might have to diddle a bit, and
  493. I noticed that some databases don't translate, but good stuff for the price!
  494. One very cute thing in the package is "tddd2ps", which "converts" a TDDD file
  495. to a printable set of four orthogonal views - nice touch!  - EAH]
  496.  
  497. -------------------------------------------------------------------------------
  498.  
  499. Object Oriented Ray Tracing Book
  500.  
  501. > I am looking for a book named "Object-oriented ray_tracing" by Melcher,
  502. > and published by Wiley 91.
  503.  
  504. This is, in fact, an article by Karl Melcher and G. Scott Owen, more fully
  505. entitled "Object Oriented Ray Tracing: A Comparison of C++ Versus C
  506. Implementations" which will appear in a Wiley book early in 1992 (and which
  507. was in the Wiley booth at SIGGRAPH '91).  The title of the book will be
  508. "Computer Graphics Using Object-Oriented Programming" and the editors are
  509. Cunningham, Craighill, Fong, and Brown.
  510.  
  511. -------------------------------------------------------------------------------
  512.  
  513. New and Updated Ray Tracing and Radiosity Bibliographies
  514.  
  515. At weedeater (see the header of this issue) via anonymous FTP are a number of
  516. new or updated ray tracing and radiosity bibliographies.  I've updated the
  517. ray tracing bibliography (pub/Papers/RayBib.09.91.Z) and radiosity bib
  518. (RadBib.09.91) from last year's version.  Rick Speer has provided a postscript
  519. (only) version of his extensively cross-referenced ray tracing bibliography
  520. (speer.raytrace.bib.ps).  Tom Wilson's fine ray tracing abstract collection is
  521. also available, with June 1 being the latest version (rtabs.6.91.shar.Z).
  522. Also, the file "NetPapers" lists a number of worthwhile articles and theses
  523. available on the net and where to get them.
  524.  
  525. -------------------------------------------------------------------------------
  526.  
  527. DKBTrace 2.12 Port to Mac, by Thomas Okken (thomas@duteca.et.tudelft.nl)
  528.  
  529. The public-domain raytracer DKBTrace, which runs on FPU-equipped Macs, has
  530. been made available for anonymous ftp from "alfred.ccs.carleton.ca", files
  531. /pub/dkbtrace/dkb2.12/other_ports/MacPort1.0.2.*.
  532.  
  533. -------------------------------------------------------------------------------
  534.  
  535. Graphics Gems II Source Code
  536.  
  537. FTP from:
  538.  
  539. weedeater.math.yale.edu [130.132.23.17]
  540. gondwana.ecr.mu.oz.au [128.250.1.63]
  541.  
  542. file: pub/GraphicsGems/GemsII/GGemsII.tar.Z
  543.  
  544. -------------------------------------------------------------------------------
  545.  
  546. Radiance Digest Archive, by Greg Ward (greg@lesosun1.epfl.ch)
  547.  
  548. I have just made back issues of the Radiance Digest available from anonymous
  549. ftp at hobbes.lbl.gov (128.3.12.38) in the pub/digest directory.  Those of you
  550. who have limited network access can still ask me to send back issues to you
  551. directly.
  552.  
  553. -------------------------------------------------------------------------------
  554.  
  555. Model Generation Software, by Paul D. Bourke (pdbourke@ccu1.aukuni.ac.nz)
  556.  
  557. [Paul has a facet based modeller for the Mac called VISION-3D, which can be
  558. used to generate models directly in the RayShade and Radiance file formats.
  559. He wrote telling me of other programs that might be of interest - EAH]
  560.  
  561. I have some other "niche" model generators that also export to Radiance and
  562. RayShade.
  563.  
  564. A brief description of some of them follows:
  565.  
  566. FracHill - generates the old fractal landscapes using the spatial subdivision
  567.            technique (ie: not the fourier method) It has all the usual
  568.            settings for roughness, sea level, seed, land/sea colour, etc
  569.  
  570. 3D LSystems - allows the user to generate 3D LSystems (0L). Uses all the
  571.               standard symbols from the literature, an extension of my 
  572.               2D LSystem which I wrote years ago.
  573.  
  574. Triangulate - takes a set of randomly distributed samples on a surface and
  575.               generates either a triangulated (Delaunay) of gridded mesh
  576.               representing the surface. We use it for our landscape
  577.               Architecture course. Note: surfaces (functions) only, not
  578.               solids!
  579.  
  580. Anyway, these and other applications can be obtained from my FTP directory
  581.    ccu1@aukuni.ac.nz (130.216.1.5)
  582. located in the
  583.    architec
  584. directory. Because we pay for FTP to the US people should be asked to FTP
  585. the README file in the above directory, it will inform them of alternative
  586. sites in the US.
  587.  
  588. -------------------------------------------------------------------------------
  589.  
  590. Rayshade 4.0 Release, Patches 1 & 2, and DOS Port, by Craig Kolb and Rod Bogart
  591.     (rayshade@weedeater.math.yale.edu)
  592.  
  593. Rayshade 4.0 is now available.  This version is extremely different from 3.0,
  594. and is very different from 4.0beta.
  595.  
  596. Rayshade 4.0 features include:
  597.     + Eleven primitives (blob, box, cone, cylinder, height field,
  598.         plane, polygon, sphere, torus, flat- and Phong-shaded triangle)
  599.     + Aggregate objects
  600.     + Constructive solid geometry
  601.     + Point, directional, extended, spot, and quadrilateral light sources
  602.     + Solid procedural texturing, bump mapping, and
  603.         2D "image" texture mapping
  604.     + Antialiasing through variable-rate "jittered" sampling
  605.     + Arbitrary linear transformations on objects and texture/bump maps.
  606.     + Use of uniform spatial subdivision or hierarchy of bounding
  607.         volumes to speed rendering
  608.     + Options to facilitate rendering of stereo pairs
  609.     + Rudimentary animation support and motion blur
  610.     + Numerous bug fixes and syntax changes
  611.  
  612. Apologies to all the folks who felt that their Rayshade 4.0beta questions were
  613. not handled in a timely fashion.  Both Rod and Craig have had to deal with
  614. Real Life and did not have as much time for Rayshade as we had hoped.  We
  615. still feel that Rayshade is the best Un*x raytracing package for the price.
  616.  
  617. Rayshade 4.0 is available via anonymous ftp from weedeater.math.yale.edu
  618. (130.132.23.17) in pub/rayshade.4.0.  The shar files will be posted to
  619. alt.sources and submitted to comp.sources.misc.
  620.  
  621. --------
  622.  
  623. Patches 1 and 2 to rayshade 4.0 are now available through
  624. anonymous ftp from weedeater.math.yale.edu (130.132.23.17)
  625. as pub/rayshade.4.0/patches/patch{1,2}.  The patches have
  626. also been posted to comp.sources.misc.
  627.  
  628. --------
  629.  
  630. Tom Hite managed to port rayshade to DOS, and was kind enough to send me
  631. a set of diffs, a couple of configuration files, and a short note describing
  632. what one needs to do in order to coax rayshade into running on PCs.
  633.  
  634. I haven't had the courage yet to find myself a PC and to verify that Tom's 
  635. instructions are idiot-proof.  In addition, Tom's diffs were for rayshade 4.0
  636. patchlevel 0, and the new patches will undoubtedly cause some minor problems
  637. when it comes to applying Tom's diffs.
  638.  
  639. The files are available from weedeater.math.yale.edu (130.132.23.17) as
  640. pub/rayshade.4.0/raydiffs.dos.
  641.  
  642. -------------------------------------------------------------------------------
  643.  
  644. RayShade Timings, by Craig Kolb
  645.  
  646. Below for your amusement(?)  are timings for the latest version of rayshade
  647. running on an HP-730.
  648.  
  649. I suspect that rayshade is a good bit less efficient than it used to be, but
  650. I have yet to actually put this suspicion to the test.
  651.  
  652.  
  653. Rayshade v4.0, patchlevel 1, on an HP-730 running HPUX-8.05, ?? MB memory.
  654. Wed Oct  9 13:50:29 EDT 1991
  655.  
  656.          Setup       Total     |  Polygon   Sphere    Cyl/Cone    Bounding
  657.              (seconds)         |   Tests     Tests      Tests    Box Tests
  658. --------------------------------------------------------------------------
  659. balls     3.18       116.24    |    356K     1564K        0        2763K
  660. gears    15.79       705.25    |   8345K       0          0       11260K
  661. mount     6.13       165.03    |   1035K     2096K        0        2991K
  662. rings     5.44       235.37    |    103K      206K      4883K      5536K
  663. teapot   13.49       126.43    |   1677K       0          0        2761K
  664. tetra     2.96        31.93    |    578K       0          0         694K 
  665. tree      4.94       103.28    |    716K       16K       366K      1467K
  666.  
  667. All timings are sum of user and system time.  Setup includes time to read
  668. the database and initialize all appropriate data structures.  Total time
  669. is setup time plus rendering time.  Test figures are rounded upwards.
  670.  
  671. Uniform spatial subdivision, employing 22^3 voxels, is used to accelerate
  672. rendering.  In the balls, gears, and tree databases, the ground plane
  673. is moved outside of the 22^3 grid in an attempt to generate a more uniform
  674. object distribution within the grid.
  675.  
  676. -------------------------------------------------------------------------------
  677.  
  678. RayShade vs. DKBtrace Timings, by Iain Dick Sinclair (axolotl@socs.uts.edu.au)
  679.  
  680. >    In your posting on RayShade vs. DKBtrace you mention doing timings
  681. >on them using the SPD.  Any chance you have the timings sitting around?
  682.  
  683. A friend here did the comparison, but it was by no means thorough -- it only
  684. used one benchmark (the balls?).  In any event, the results of his quick
  685. experiment seem to have been discarded (apparently it was a slight pain to
  686. translate NFF -> DKB's verbose input format).  I seem to remember him saying
  687. that Rayshade completed the scene about 20% quicker.  Unfortunately, SPD
  688. wasn't used exhaustively, though it may be in the near future.
  689.  
  690. -------------------------------------------------------------------------------
  691.  
  692. PVRay Beta Release, by David Buck (dbuck@ccs.carleton.ca)
  693.  
  694. The freely distributable raytracer PVRay (Persistence of Vision) is
  695. available for BETA testing from alfred.ccs.carleton.ca (134.117.1.1)
  696. in the directory pub/dkbtrace/pvraybeta.  This program has been
  697. developed by the "Persistence of Vision" group on CompuServe and is
  698. built on top of DKBTrace version 2.12 with my permission and blessing.
  699.  
  700. Please note that this is a BETA release, so it may exhibit some bugs or
  701. portability problems to different platforms.  Please refer any
  702. problems to Drew Wells at 73767.1244@compuserve.com.  Also, this
  703. version does not contain some of the ports which were previously
  704. available for DKBTrace.  This situation is being rectified.  However,
  705. you should find that the product-specific modules developed for
  706. DKBTrace should be easily adaptable to PVRay.
  707.  
  708. Program Synopsis:
  709. -----------------
  710.  
  711. PVRay is a Freely Distributable raytracer built on top of DKBTrace.  New
  712. additions include:
  713.  
  714.    - Bezier surfaces
  715.    - Height Fields (GIF only at this time)
  716.    - Bump maps
  717.    - Improved Quartic surface support
  718.    - Input language can now optionally accept lowercase keywords
  719.    - New textures: Onion, Leopard
  720.    - C-style comments accepted (  /* */ and //)
  721.    - Algebraic surfaces
  722.    - Sphere, Cylinder, and Torus image mappings
  723.  
  724. Please direct inquiries to Drew Wells at 73767.1244@compuserve.com.
  725.  
  726. -------------------------------------------------------------------------------
  727.  
  728. Vort 2.1 Release, by Eric H. Echidna
  729.  
  730.     gondwana.ecr.mu.oz.au [128.250.1.63] pub/vort.tar.Z
  731.     munnari.oz.au [128.250.1.21] pub/graphics/vort.tar.Z
  732.     uunet.uu.net [192.48.96.2] graphics/vogle/vort.tar.Z
  733.      (uucp access as well ~ftp/graphics/vogle/vort.tar.Z)
  734.  
  735. Australian ACSnet sites may use fetchfile:
  736.     fetchfile -dgondwana.ecr.mu.oz pub/vort.tar.Z
  737.  
  738. The major changes are to the ray-tracer which now allows orthographic
  739. projections, lights to be in composite objects, provides a transform operator,
  740. a few other odds and sods plus the usual set of bug fixes.  There are also a
  741. couple of utilities for starting art up via inetd to help simplify the
  742. generation of animations across networks.
  743.  
  744. It runs on IBM PC's, VMS, and a variety of UNIX boxes.
  745.  
  746. Contributed scene files for the ray-tracer can be found in contrib/artscenes
  747. on gondwana.  Apart from the scene files the tar files in this directory also
  748. includes some useful tile patterns and geometry files.
  749.  
  750. Anyone with anything they'd like to add is welcome to put it in gondwana's
  751. incoming directory and send us mail.
  752.  
  753. Includes [among much else]:
  754.  
  755. art    - a ray tracer for doing algebraic surfaces and CSG models.
  756.  
  757. -------------------------------------------------------------------------------
  758.  
  759. BRL-CAD 4.0 Release, by Michael J. Muuss and Glenn M. Gillis
  760.  
  761. The U. S. Army Ballistic Research Laboratory (BRL) is proud to announce
  762. the availability of Release 4.0 of the BRL-CAD Package.
  763.  
  764. The BRL-CAD Package is a powerful Constructive Solid Geometry (CSG) based
  765. solid modeling system.  BRL-CAD includes an interactive geometry editor, a ray
  766. tracing library, two ray-tracing based lighting models, a generic framebuffer
  767. library, a network-distributed image-processing and signal-processing
  768. capability, and a large collection of related tools and utilities.  Release
  769. 4.0 is the latest version of software which has been undergoing continuous
  770. development since 1979.
  771.  
  772. The most significant new feature for Release 4.0 is the addition of n-Manifold
  773. Geometry (NMG) support based on the work of Kevin Weiler.  The NMG software
  774. converts CSG solid models into approximate polygonalized boundary
  775. representations, suitable for processing by subsequent applications and
  776. high-speed hardware display.
  777.  
  778. BRL-CAD is used at over 800 sites located throughout the world.  It is
  779. provided in source code form only, and totals more than 280,000 lines of "C"
  780. code.
  781.  
  782. BRL-CAD supports a great variety of geometric representations, including an
  783. extensive set of traditional CSG primitive solids such as blocks, cones and
  784. tori, solids made from closed collections of Uniform B-Spline Surfaces as
  785. well as Non-Uniform Rational B-Spline (NURBS) Surfaces, purely faceted
  786. geometry, and n-Manifold Geometry (NMG).  All geometric objects may be
  787. combined using boolean set-theoretic operations such as union, intersection,
  788. and subtraction.
  789.  
  790. Material properties and other attribute properties can be associated with
  791. geometry objects.  This combining of material properties with geometry is a
  792. critical part of the link to applications codes.  BRL-CAD supports a rich
  793. object-oriented set of extensible interfaces by means of which geometry and
  794. attribute data are passed to applications.
  795.  
  796. A few of the applications linked to BRL-CAD include:
  797.  
  798. *) Optical Image Generation (including specular/diffuse reflection,
  799.     refraction, multiple light sources, and articulated animation)
  800. *) An array of military vehicle design and evaluation V/L Codes
  801. *) Bistatic laser analysis
  802. *) Predictive Synthetic Aperture Radar Codes (including codes due to ERIM)
  803. *) High-Energy Laser Damage
  804. *) High-Power Microwave Damage
  805. *) Weights and Moments-of-Inertia
  806. *) Neutron Transport Code
  807. *) PATRAN [TM] and hence to ADINA, EPIC-2, NASTRAN, etc.
  808.     for structural/stress analysis
  809. *) X-Ray image calculation
  810.  
  811. BRL-CAD requires the UNIX operating system and is supported on more than a
  812. dozen product lines from workstations to supercomputers, including:  Alliant
  813. FX/8 and FX/80, Alliant FX/2800, Apple Macintosh II, Convex C1, Cray-1, Cray
  814. X-MP, Cray Y-MP, Cray-2, Digital Equipment VAX, Gould/Encore PN 6000/9000, IBM
  815. RS/6000, Pyramid 9820, Silicon Graphics 3030, Silicon Graphics 4D ``Iris'',
  816. Sun Microsystems Sun-3, and the Sun Microsystems Sun-4 ``SparcStation''.
  817. Porting to other UNIX systems is very easy, and generally only takes a day or
  818. two.
  819.  
  820. You may obtain a copy of the BRL-CAD Package distribution materials in one of
  821. two ways:
  822.  
  823. 1.  FREE distribution with no support privileges:  Those users with online
  824. access to the DARPA InterNet may obtain the BRL-CAD Package via FTP file
  825. transfer, at no cost, after completing and returning a signed copy of the
  826. printed distribution agreement.  A blank agreement form is available only via
  827. anonymous FTP from host ftp.brl.mil (address 128.63.16.158) from file
  828. "brl-cad/agreement".  There are encrypted FTP-able files in several countries
  829. around the world.  Directions on how to obtain and decrypt the files will be
  830. sent to you upon receipt of your signed agreement.  One printed set of BRL-CAD
  831. documentation will be mailed to you at no cost.  Note that installation
  832. assistance or telephone support are available only with full service
  833. distributions.
  834.  
  835. 2.  FULL SERVICE distribution:  The Survivability/Vulnerability Information
  836. Analysis Center (SURVIAC) administers the supported BRL-CAD distributions and
  837. information exchange programs for BRL.  Full service distributions cost
  838. US$500, and include a copy of the full distribution materials on your choice
  839. of magnetic tape media.  You may elect to obtain your copy via network FTP.
  840. One printed set of BRL-CAD documentation will be mailed to you.  BRL-CAD
  841. maintenance releases and errata sheets will be provided at no additional
  842. charge, and you will have access to full technical assistance by phone, FAX,
  843. letter, or E-mail.  Agencies of the U.S.  Federal Government may acquire the
  844. full service distribution with a simple MIPR or OGA funds transfer.
  845.  
  846. For further details, call Mr. Glenn Gillis at USA (410)-273-7794, send E-mail
  847. to <gillis@brl.mil>, FAX your letter to USA (410)-272-7413, or write to:
  848.  
  849.     BRL-CAD Distribution
  850.     SURVIAC Aberdeen Satellite Office
  851.     1003 Old Philadelphia Road
  852.     Suite 103
  853.     Aberdeen MD  21001  USA
  854.  
  855. Note that USA area code 410 will not go into effect until 1-Nov-91.  Prior to
  856. that date, please use area code 301.
  857.  
  858. Those sites selecting the free distribution may upgrade to full service status
  859. at any time.  All users have access to the BRL-CAD Symposia, workshops, user's
  860. group, and E-mail mailing list.
  861.  
  862. Sincerely,
  863.  
  864. Michael J. Muuss            Glenn M. Gillis
  865. Advanced Computer Systems        SURVIAC
  866. Ballistic Research Lab            Aberdeen Satellite Office
  867.  
  868. -------------------------------------------------------------------------------
  869. END OF RTNEWS
  870.